Skip to main content

USA Driver's License Verification API

This document highlights the details of the USA Driver's License Verification API.

API Description

Objective

The USA Driver's License Verification API checks the information on an individual's Driver's license (DL) or ID card and confirms if it matches the official data maintained by the American Association of Motor Vehicle Administrators (AAMVA).

Info

Driver's licenses, driving permits, and ID cards issued by U.S. jurisdictions are commonly used for identity verification, but these documents can sometimes be counterfeit or altered. Therefore, it is crucial for organizations to verify their authenticity to ensure accurate identification.

InputOutput
The individual's details including:
  • First name
  • Last name
  • Driver's license number
  • State
  • Date of birth
  • Address Details
The verification results indicating whether the driver's license holder's data matches the official records, including respective match statuses for each input field

AAMVA Database
  • The American Association of Motor Vehicle Administrators (AAMVA) maintains a system that facilitates secure, electronic exchange of identity information between member jurisdictions for driver's licenses and state IDs.
  • Currently, the AAMVA database covers 43 out of 50 states. For the remaining seven states not covered by the AAMVA database.
  • The seven states not covered by the AAMVA database are: Alaska (AK), California (CA), Louisiana (LA), Minnesota (MN), New York (NY), Pennsylvania (PA), Utah (UT). If the driver's license under verification belongs to one of these seven states, additional address details (address, ZIP code, and city name) are required for verification.

API URL

https://usa.thomas.hyperverge.co/v1/dlVerification

API Endpoint

dlVerification

Overview

The USA Driver's License Verification API is RESTful and uses standard HTTP verbs and status codes. The requests are in form-data format and responses are in JSON format.

Authentication

You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.

ParameterMandatory or OptionalDescriptionAllowed Values
content-typeMandatoryThis parameter defines the media type for the request payloadapplication/json
appIdMandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
appKeyMandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
transactionIdMandatoryA unique identifier for tracking a user journeyThis should be both unique and easily associated with the user's journey in your application(s)

Method - POST

Headers

ParameterMandatory or OptionalDescriptionValid Values
content-typeMandatoryThis parameter defines the media type for the request payloadapplication/json
appIdMandatoryThe application ID shared by HyperVergeNot Applicable - this is a unique value
appKeyMandatoryThe application key shared by HyperVergeNot Applicable - this is a unique value
transactionIdOptionalThe unique ID for the customer journeyNot Applicable

Inputs

The following table lists the parameters required for the USA Driver's License Verification API's request body:

ParameterMandatory or OptionalTypeDescriptionInput FormatDefault Value
firstNameMandatorystringThe first name of the driver's license holderNot ApplicableNot Applicable
lastNameMandatorystringThe last name of the driver's license holderNot ApplicableNot Applicable
dlNumberMandatorystringThe Driver's license number of the driver's license holderNot ApplicableNot Applicable
stateMandatorystringThe state where the Driver's license was issuedThe state code of the respective state in the DL. For example, TX for Texas. Not Applicable
dobMandatorystringThe date of birth of the driver's license holderThe date of birth should be in DD-MM-YYYY formatNot Applicable
addressConditionally MandatorystringThe residential address of the driver's license holder. Required for states not covered by the AAMVA DatabaseNot ApplicableNot Applicable
zipConditionally MandatorystringThe ZIP code associated with the residential address of the driver's license holder. Required for states not covered by the AAMVA DatabaseThe standard five-digit ZIP code Not Applicable
cityConditionally MandatorystringThe city name associated with the residential address of the driver's license holder. Required for states not covered by the AAMVA DatabaseNot ApplicableNot Applicable

Request

The following code snippet demonstrates a standard curl request for the USA Driver's License Verification API:

curl --location --request POST 'https://usa.thomas.hyperverge.co/v1/dlVerification' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--data '{
"firstName": "<Enter_first_name>",
"lastName": "<Enter_last_name>",
"state": "<Enter_state>",
"dlNumber": "<Enter_DL_number>",
"dob": "<Enter_date_of_birth>",
// The following fields are optional and are only required when searching for states not covered by the AAMVA database.
"address": "<Enter_the_Address>",
"zip": "<Enter_the_ZIP_Code>",
"city": "<Enter_the_City_Name>"
}'

Success Response

The following code snippet demonstrates a success response from the USA Driver's License Verification API:

{
"status": "success",
"statusCode": "200",
"result": {
"details": {
"dlNumberMatch": true,
"firstNameMatch": true,
"lastNameMatch": true,
"dobMatch": true,
"stateMatch": true
},
"summary": {
"action": "pass",
"details": []
}
}
}

Success Response Details

The following table outlines the details of the success response from the Driver's License Verification API:

ParameterTypeDescription
statusstringThe status of the API request
statusCodeintegerThe HTTP status code indicating the result of the request
resultobjectThe result object containing verification details
result.detailsobjectVerification results for the driver's license information
result.details.dlNumberMatchbooleanIndicates if the driver's license number matches
result.details.firstNameMatchbooleanIndicates if the first name matches
result.details.lastNameMatchbooleanIndicates if the last name matches
result.details.dobMatchbooleanIndicates if the date of birth matches
result.details.stateMatchbooleanIndicates if the state ID or state code matches
result.summaryobjectSummary of the verification action and details
result.summary.actionstringThe action taken based on the verification results
result.summary.detailsarrayAdditional details related to the verification, if any

Error Responses

The following are the error responses for the USA Driver's License Verification API:

{
"status": "success",
"statusCode": "200",
"result": {
"details": {
"dlNumberMatch": true,
"firstNameMatch": null,
"lastNameMatch": null,
"dobMatch": true,
"stateMatch": true
},
"summary": {
"action": "fail",
"details": [
{
"code": "012",
"message": "First name is not matching"
},
{
"code": "013",
"message": "Last name is not matching"
}
]
}
}
}

Error Response Details

A failure or error response from the API contains a failure status with a relevant status code and error message.

The following table lists all the error responses:

Status CodeError MessageError DescriptionError Resolution
200First/Last name is not matchingThe provided first/last name or both of them, do not match the official recordsVerify that the first name and last name match the official records
400Required field State is invalidThe request does not contain a valid state codeProvide a valid state code in the request (e.g., TX for Texas)
400"dob" must be in DD-MM-YYYY formatThe provided Date of Birth is not in DD-MM-YYYY formatFormat the date of birth as DD-MM-YYYY in the request
400Required field DriverLicenseNumber is invalidThe request does not contain a valid driver's license numberProvide a valid driver's license number in the request
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid valuesProvide valid appId and appKey credentials in the request
500Internal Server ErrorThere was an error with the serverPlease check the request headers or contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: